With the introduction of multimedia processing in computing systems and increased deployment of digital audio and video formats, there is an increased demand for reliable transmission of synchronous and isochronous data over standard, typically asynchronous, computer networks implementing Internet Protocols. While audio and video are examples of synchronous and isochronous data, substantially any data stream that must be clocked and is continuous would be considered synchronous and a data stream which must be delivered with determinant latency could be considered isochronous.
Typically, packet networks, such as local area networks implementing IP such as Ethernet, were developed to carry computer-type data. The computer-type data carried by such local area networks was primarily asynchronous in nature, and not highly sensitive to non-deterministic latencies. More specifically, the asynchronous data communication of such networks is a type of data communication that guarantees the delivery of the data and not the time of delivery of the data. In such networks, the delivery of the data is continuously retried until the receipt of the data is verified. The Ethernet protocol of such networks uses a carrier sense multiple access with collision detection media access control protocol (CSMA/CD MAC). This type of MAC is characterized by very low typical latencies, and reasonably high potential throughput.
In such packet networks, data communication between terminals is typically facilitated by Ethernet switches. Such switches typically maintain internal queues (i.e., a first-in-first-out (FIFO) memory queue) used to schedule the transferring of data from one terminal of the local area network to another. The data is buffered in the queue awaiting its turn for transmission. Such an architecture, however, does not allow for synchronous or isochronous transmission which require determinant latency. As such, such packet networks have been recently modified for the transmission of synchronous and isochronous transfer of data. For example, in various modified asynchronous packet networks, a priority list for an included data queue has been implemented. However, such prioritized data queues, although maybe guaranteeing a time for transmission, do not also guarantee a time for reception by an intended receiver.
Another shortcoming of such modified Ethernet packet networks used for the transmission of synchronous and isochronous data lies in the potentially high latencies when collisions occur between terminals transmitting on the network. In response, various schemes have been developed for the transmission of synchronous and isochronous data over such packet network Ethernet protocol systems to avoid collisions. For example, a reservation system typically employs two communications channels; one channel, the reservation channel, is used to communicate reservation requests from individual stations to a central authority which then allocates bandwidth in the primary channel, as requested, if possible. The reservation channel typically carries asynchronous data, while the primary channel carries isochronous data. Such two channel systems, however, experience significant inefficiencies in transmission and also do not guarantee a time of reception.
Another such scheme for transmitting synchronous and isochronous data in typically asynchronous IP networks is disclosed in U.S. Pat. No. 5,761,431, issued Jun. 2, 1998 to Gross et al. In the Gross et al. Patent, an order persistent timer is provided in each terminal on a network to control the timing of the transmission of each isochronous data packet from a terminal, and to also control the timing of transmission of asynchronous data packets that include reservation requests. The OP timer at each terminal monitors traffic on the network from other stations to detect whether the network is active or idle. In an idle state (no packet on the network from another station), the OP timer times a number of deferral time intervals that are used with a network interrupt handler at the terminal to control the transmission of synchronous and isochronous data packets without collision, and asynchronous data packets thereafter. However, the inclusion of OP timers in each terminal in order for each terminal to be able to transmit synchronous and isochronous data packets without collision, as disclosed by Gross et al., results in significant inefficiencies in transmission at least because each terminal must detect an idle interval before transmitting queued synchronous or isochronous data. In addition, such a system does not guarantee a time of reception of transmitted synchronous or isochronous data.